package com.ruoyi.grade.domain;

import java.math.BigDecimal;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 成绩详情对象 grade
 *
 * @author LinBei
 * @date 2025-05-15
 */
@ExcelIgnoreUnannotated// 注解表示在导出Excel时，忽略没有被任何注解标记的字段
@ColumnWidth(16)// 注解用于设置列的宽度
@HeadRowHeight(14)// 注解用于设置表头行的高度
@HeadFontStyle(fontHeightInPoints = 11)// 注解用于设置表头的字体样式
public class Grade extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 成绩ID */
    private Long gradeId;

    /** 教学班ID */
    @Excel(name = "教学班ID")
    @ExcelProperty("教学班ID")
    private String classId;

    /** 学生学号 */
    @Excel(name = "学生学号")
    @ExcelProperty("学生学号")
    private String studentId;

    /** 平时成绩 */
    @Excel(name = "平时成绩")
    @ExcelProperty("平时成绩")
    private BigDecimal usualGrade;

    /** 考试成绩 */
    @Excel(name = "考试成绩")
    @ExcelProperty("考试成绩")
    private BigDecimal examGrade;

    /** 最终成绩 */
    @Excel(name = "最终成绩")
    private BigDecimal finalGrade;

    /** 绩点 */
    @Excel(name = "绩点")
    private BigDecimal gradePoint;

    /** 班级排名 */
    private Long ranking;

    /** 评语 */
    @Excel(name = "评语")
    @ExcelProperty("评语")
    private String comment;

    /** 状态 */
    @Excel(name = "状态")
    @ExcelProperty("状态")
    private String status;

    public void setGradeId(Long gradeId)
    {
        this.gradeId = gradeId;
    }

    public Long getGradeId()
    {
        return gradeId;
    }

    public void setClassId(String classId)
    {
        this.classId = classId;
    }

    public String getClassId()
    {
        return classId;
    }

    public void setStudentId(String studentId)
    {
        this.studentId = studentId;
    }

    public String getStudentId()
    {
        return studentId;
    }

    public void setUsualGrade(BigDecimal usualGrade)
    {
        this.usualGrade = usualGrade;
    }

    public BigDecimal getUsualGrade()
    {
        return usualGrade;
    }

    public void setExamGrade(BigDecimal examGrade)
    {
        this.examGrade = examGrade;
    }

    public BigDecimal getExamGrade()
    {
        return examGrade;
    }

    public void setFinalGrade(BigDecimal finalGrade)
    {
        this.finalGrade = finalGrade;
    }

    public BigDecimal getFinalGrade()
    {
        return finalGrade;
    }

    public void setGradePoint(BigDecimal gradePoint)
    {
        this.gradePoint = gradePoint;
    }

    public BigDecimal getGradePoint()
    {
        return gradePoint;
    }

    public void setRanking(Long ranking)
    {
        this.ranking = ranking;
    }

    public Long getRanking()
    {
        return ranking;
    }

    public void setComment(String comment)
    {
        this.comment = comment;
    }

    public String getComment()
    {
        return comment;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("gradeId", getGradeId())
            .append("classId", getClassId())
            .append("studentId", getStudentId())
            .append("usualGrade", getUsualGrade())
            .append("examGrade", getExamGrade())
            .append("finalGrade", getFinalGrade())
            .append("gradePoint", getGradePoint())
            .append("ranking", getRanking())
            .append("comment", getComment())
            .append("status", getStatus())
            .toString();
    }
}
